/**
Carrega do banco de dados o funcion�rio cadastrado. O resultado � exibido din�micamente em um formul�rio.
@unidadeId - identificador da unidade selecionada que cont�m os setores a serem carregados.
*/
function CarregarServidor( ServidorId )
{
         if ( ServidorId != 0 )
         {
             var ajax = new sack();
             var url = "http://"+servidor+"/CarregarDados.php?informacao=servidor&servidorId="+ServidorId;
             ajax.requestFile = url;
             ajax.onCompletion = function() { ProcessarXMLServidor( ajax.responseXML ); };
             ajax.runAJAX();
         }
}

/**
Transforma os resultados vindo do XML em informa��es din�micas na tela
@xml - XML com as informa��es sobre o material
*/
function ProcessarXMLServidor( xml )
{

         // caso n�o encontre nenhum funcion�rio cadastrado para aquele setor exibe esta informa��o
         if( xml != null )
         {

              var resultadosXML = xml.getElementsByTagName("servidor");


              // recupera as informa��es vindas do xml
              var Servidor = resultadosXML[0];
              var ServidorId = Servidor.getElementsByTagName("id")[0].firstChild.nodeValue;
              var ServidorUsuario = Servidor.getElementsByTagName("usuario")[0].firstChild.nodeValue;
              var ServidorSenha = Servidor.getElementsByTagName("senha")[0].firstChild.nodeValue;
              var ServidorCPF = Servidor.getElementsByTagName("cpf")[0].firstChild.nodeValue;
              var ServidorSIAPE = Servidor.getElementsByTagName("siape")[0].firstChild.nodeValue;
              var ServidorPerfil = Servidor.getElementsByTagName("perfil")[0].firstChild.nodeValue;

              var inputHiddenServidorId = document.getElementById("inputServidorId");
              inputHiddenServidorId.value = ServidorId;

              var inputHiddenServidorNome = document.getElementById("inputServidorNome");
              inputHiddenServidorNome.value = ServidorUsuario;
              
              var inputServidorSenha = document.getElementById("servidorSenha");
              inputServidorSenha.value = ServidorSenha;
              
              var inputServidorCPF = document.getElementById("servidorCPF");
              inputServidorCPF.value = ServidorCPF;
              
              var inputServidorSIAPE = document.getElementById("servidorSIAPE");
              inputServidorSIAPE.value = ServidorSIAPE;
              
              var selectServidorPerfil = document.getElementById("servidorPerfil");
                  for (var i=0; i < selectServidorPerfil.length; i++)
                  {
                      if ( selectServidorPerfil.options[i].value == ServidorPerfil )
                           selectServidorPerfil.options[i].selected = true;
                  }
              
              
        }
}


/**
Carrega do banco de dados os funcion�rios cadastrados em determinado setor. O resultado � exibido din�micamente em um drop down box.
@unidadeId - identificador da unidade selecionada que cont�m os setores a serem carregados.
*/
function CarregarServidores( setorId )
{
         var selectCampus = document.getElementById("campi");

         var ajax = new sack();
         var url = "http://"+servidor+"/CarregarDados.php?informacao=servidores&setorId="+setorId;
         ajax.requestFile = url;
         
         if ( selectCampus.ownerDocument.URL == "http://"+servidor+"/ListarServidor.php")
         {
         ajax.onCompletion = function() { ProcessarXMLListarServidores( ajax.responseXML ); };
         }else{
               ajax.onCompletion = function() { ProcessarXMLServidores( ajax.responseXML ); };
              }
         
         ajax.runAJAX();
}


function CarregarServidoresPorUnidade( campusId )
{
         var selectCampus = document.getElementById("campi");

         var ajax = new sack();
         var url = "http://"+servidor+"/CarregarDados.php?informacao=servidoresPorUnidade&campusId="+campusId;
         ajax.requestFile = url;
         
         ajax.onCompletion = function() { ProcessarXMLListarServidores( ajax.responseXML ); };
         
         ajax.runAJAX();
}

/**
Transforma os resultados vindo do XML em informa��es din�micas na tela
@xml - XML com as informa��es sobre o material
*/
function ProcessarXMLServidores( xml )
{
         var selectServidores = document.getElementById("listaservidores");
         var optionServidor = document.getElementById("servidor");
         var i;
         // antes de exibir o resultado limpa o select que contem as informa��es da consulta anterior
         for( i = selectServidores.length -1; i >= 1; i-- )
         {
                 selectServidores.remove(i);
         }
         // caso n�o encontre nenhum funcion�rio cadastrado para aquele setor exibe esta informa��o
         if( xml == null )
         {
             optionServidor.innerHTML = "Nenhum Servidor cadastrado!";
         }
         else
         {

              var resultadosXML = xml.getElementsByTagName("servidor");

              if( resultadosXML.length > 0) // existem funcion�rio cadastrados
	          {
        		                      for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
        		                      {
                                                  // recupera as informa��es vindas do xml
                                                  var Servidor = resultadosXML[i];
                                                  var ServidorId = Servidor.getElementsByTagName("id")[0].firstChild.nodeValue;
                                                  var ServidorUsuario = Servidor.getElementsByTagName("usuario")[0].firstChild.nodeValue;
                                                  var ServidorSenha = Servidor.getElementsByTagName("senha")[0].firstChild.nodeValue;

                                                  // adiciona um novo 'option' ao campo select com o setor encontrado
                                                  var novoServidor = document.createElement("option");
                                                  novoServidor.setAttribute("id", "opcoes");
                                                  novoServidor.value = ServidorId;
                                                  novoServidor.text  = ServidorUsuario;
                                                  selectServidores.options.add(novoServidor);
                                      }
                                      optionServidor.innerHTML = "Selecione o Servidor";
             }
        }
}

function ProcessarXMLListarServidores( xml )
{
         var tabelaListarServidor = document.getElementById("corpoServidor");

         for( var i = tabelaListarServidor.rows.length; i > 0 ; i-- ) // remover linhas da tabela
              tabelaListarServidor.deleteRow ( i-1 );

         if ( xml != null) // verifica se houveram resultados
          {
          var resultadosXML = xml.getElementsByTagName("servidor");

    		                      for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
    		                      {
                                              // recupera as informa��es vindas do xml
                                              var Servidor = resultadosXML[i];
                                              var ServidorUsuario = Servidor.getElementsByTagName("usuario")[0].firstChild.nodeValue;
                                              var ServidorPerfil = Servidor.getElementsByTagName("perfil")[0].firstChild.nodeValue;
                                              var ServidorCPF = Servidor.getElementsByTagName("cpf")[0].firstChild.nodeValue;
                                              var ServidorSIAPE = Servidor.getElementsByTagName("siape")[0].firstChild.nodeValue;

                                              var trTabelaListarServidor = document.createElement("tr");
                                              tabelaListarServidor.appendChild ( trTabelaListarServidor );

                                              var tdUsuarioTabelaListarServidor = document.createElement("td");
                                              tdUsuarioTabelaListarServidor.setAttribute("class", "textoCentral");
                                              tdUsuarioTabelaListarServidor.innerHTML = ServidorUsuario;
                                              trTabelaListarServidor.appendChild ( tdUsuarioTabelaListarServidor );
                                              
                                              switch (parseInt(ServidorPerfil)){
                                                     case 0:
                                                          var perfil = "Administrador";
                                                          break;
                                                     case 1:
                                                          var perfil = "Funcion&aacute;rio";
                                                          break;
                                                     case 2:
                                                          var perfil = "Diretor";
                                                          break;
                                                     case 3:
                                                          var perfil = "DAP";
                                                          break;
                                                     case 4:
                                                          var perfil = "Compras";
                                                          break;
                                                     case 5:
                                                          var perfil = "Or&ccedil;amento";
                                                          break;
                                              }

                                              var tdPerfilTabelaListarServidor = document.createElement("td");
                                              tdPerfilTabelaListarServidor.setAttribute("class", "textoCentral");
                                              tdPerfilTabelaListarServidor.innerHTML = perfil;
                                              trTabelaListarServidor.appendChild ( tdPerfilTabelaListarServidor );
                                              
                                              var tdCPFTabelaListarServidor = document.createElement("td");
                                              tdCPFTabelaListarServidor.setAttribute("class", "textoCentral");
                                              tdCPFTabelaListarServidor.innerHTML = ServidorCPF;
                                              trTabelaListarServidor.appendChild ( tdCPFTabelaListarServidor );
                                              
                                              var tdSIAPETabelaListarServidor = document.createElement("td");
                                              tdSIAPETabelaListarServidor.setAttribute("class", "textoCentral");
                                              tdSIAPETabelaListarServidor.innerHTML = ServidorSIAPE;
                                              trTabelaListarServidor.appendChild ( tdSIAPETabelaListarServidor );
                                  }
         }else{
              var trTabelaListarServidor = document.createElement("tr");
              tabelaListarServidor.appendChild ( trTabelaListarServidor );

              var tdNennhumTabelaListarServidor = document.createElement("td");
              tdNennhumTabelaListarServidor.setAttribute("colspan", "6");
              tdNennhumTabelaListarServidor.setAttribute("class", "textoCentral");
              tdNennhumTabelaListarServidor.innerHTML = "N�o existe nenhum setor cadastrado para esse campus";
              trTabelaListarServidor.appendChild ( tdNennhumTabelaListarServidor );
         }
}
